Cytosim  PI
Cytoskeleton Simulator
SingleSet Class Reference

Detailed Description

A Single is stored in one of 2 NodeList, depending on its state:

  • fList = free,
  • aList = attached.

Each list is accessible via its head firstF() and firstA(). This way, the state of the Single are known when accessing them.

A Single is automatically transfered to the appropriate list, if its Hand binds or unbind. This is one role of HandMonitor: HandMonitor::afterAttachment() and HandMonitor::afterDetachment() are called by the Hand, and calls SingleSet::relink().

Inheritance diagram for SingleSet:
ObjectSet

Public Member Functions

 SingleSet (Simul &s)
 creator
 
virtual ~SingleSet ()
 destructor
 
std::string kind () const
 identifies the class
 
PropertynewProperty (const std::string &kind, const std::string &name, Glossary &) const
 create a new property for class kind with given name More...
 
ObjectnewObject (const std::string &kind, const std::string &prop, Glossary &opt)
 create a new object from the corresponding property
 
ObjectnewObjectT (const Tag tag, int prop_index)
 construct object
 
ObjectList newObjects (const std::string &kind, const std::string &prop, Glossary &)
 create a new object directly from a glossary
 
void removeWrists (Object *obj)
 remove all Wrists anchored on Object 'obj'
 
SinglefirstF () const
 returns the first free Single
 
SinglefirstA () const
 returns the first bound Single
 
Singlefind (Number n) const
 return pointer to the Object of given Number, or zero if not found
 
ObjectList collect (bool(*func)(Object const *, void *), void *) const
 collect Object for which func(obj, val) == true
 
void erase ()
 erase all Object and all Property
 
unsigned int size () const
 number of elements
 
void mix ()
 mix order of elements
 
void freeze ()
 transfer all object to ice
 
void thaw (bool erase)
 delete objects, or put them back in normal list
 
void step (FiberSet const &, FiberGrid const &)
 Monte-Carlo step.
 
void write (OutputWrapper &) const
 write
 
void foldPosition (const Modulo *) const
 modulo the position (periodic boundary conditions)
 
int bad () const
 check internal consistency, returns 0 if everything is OK
 
- Public Member Functions inherited from ObjectSet
 ObjectSet (Simul &s)
 creator
 
virtual ~ObjectSet ()
 destructor
 
virtual ObjectList newPlacedObjects (const std::string &kind, const std::string &name, Glossary &opt)
 create new objects, translate and rotate them according to specifications in opt More...
 
virtual void add (Object *)
 register Object, and add it at the end of the list
 
void add (ObjectList &)
 remove Object in ObjectList
 
virtual void remove (Object *)
 remove Object
 
void remove (ObjectList &)
 remove Object in ObjectList
 
virtual void relink (Object *)
 unlink and relink object. This places it last in the list More...
 
void erase (Object *)
 remove Object, and delete it
 
Objectfirst () const
 first Object in the list
 
Objectfirst (const Property *) const
 return an Object which has this property More...
 
Objectlast () const
 last Object
 
Objectfind (const Number n) const
 find Object of given serial-number (see Inventoried)
 
ObjectfindObject (long n) const
 return Object with serial-number if ( n > 0 ) or object from the end of the list if ( n <= 0 ) More...
 
void readObject (InputWrapper &, Tag, char pretag)
 read one Object from file More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ObjectSet
static void translateObjects (ObjectList const &, Vector const &)
 apply translation to all Objects in ObjectList More...
 
static void rotateObjects (ObjectList const &, Rotation const &)
 apply rotation to all Objects in ObjectList More...
 
- Public Attributes inherited from ObjectSet
Inventory inventory
 holds pointers to the Objects in a array of Numbers
 
NodeList nodes
 holds pointers to the Objects in a doubly linked list
 
Simulsimul
 the Simul containing this ObjectSet
 
- Protected Member Functions inherited from ObjectSet
void forget (NodeList &)
 remove all nodes in the list from the inventory
 
- Static Protected Member Functions inherited from ObjectSet
static ObjectList collect (const NodeList &, bool(*func)(Object const *, void *), void *)
 collect Object from NodeList for which func(obj, val) == true
 
static void write (const NodeList &, OutputWrapper &)
 write Object in NodeList to file More...
 
static Vector placeObjects (ObjectList const &, Glossary &opt, const Space *)
 place all Objects in ObjectList using the same combinations of translation/rotation More...
 
- Protected Attributes inherited from ObjectSet
NodeList ice
 a list used to store the objects temporarily while a state is imported
 

Member Function Documentation

Property * newProperty ( const std::string &  kd,
const std::string &  nm,
Glossary opt 
) const
virtual

List of classes accessible by specifying single:activity:

activity Class Description
diffuse Single a single Hand that is mobile (default)
fixed Picket a single Hand anchored at a fixed position

Another class Wrist is used automatically to anchor a Single to a Mecable.

Example:

set single grafted
{
hand = kinesin
stiffness = 100
activity = fixed
}

A newly created Single can be anchored to a Mecable:

new single NAME {
base = CLASS_NAME, INTEGER_REF, INTEGER_INDEX
}

where:

  • CLASS_NAME is the name of the object class (eg. solid)
  • INTEGER_REF designates the object:
    • 1 for first object
    • 2 for second...
    • 0 designates the last object,
    • -1 is the penultimate one, etc.
  • INTEGER_INDEX designates a point on this object:
    • 0 = first point
    • 1 = second point...

if INTERGER1 is negative, the last object is used.

You can attach a Single to a fiber:

new single protein
{
attach = INTEGER, REAL
}

where:

  • INTEGER designates the fiber:
    • 1 for the first fiber
    • 2 for the second, etc
    • a negative number indicates the last fiber created
  • REAL is the abscissa of the attachment point (0=MINUS_END)

Implements ObjectSet.